package vin.pth.base.pojo;

import java.io.Serializable;
import java.util.Collection;

/**
 * 用户详情.
 *
 * @author cocoon
 */
public interface UserDetails {

  /**
   * 获取用户ID.
   *
   * @return 用户ID
   */
  Serializable getUserId();

  /**
   * 用户名.
   *
   * @return 用户名
   */
  String getUsername();

  /**
   * 密码.
   *
   * @return 密码
   */
  String getPassword();

  /**
   * 用户权限的集合.
   *
   * @return 权限集合
   */
  Collection<GrantedAuthority> getAuthority();

  /**
   * 角色名称.
   *
   * @return 角色集合
   */
  Collection<String> getRoles();

}
